export class BodyDto<T> {

  /**
   * 数据实体
   */
  data: T;

  /**
   * 消息备注
   */
  message: string;

  /**
   * 自定义状态码
   */
  code: number;
}

/**
 * 二次封装
 * @param data 数据
 * @param message 消息提示
 * @param code 自定义状态码
 * @returns 响应实体
 */
export const restBody = <T>(data: T, message: string = 'ok', code: number = 200): Promise<BodyDto<T>> => {
  return Promise.resolve({
    code,
    data,
    message
  })
}

export class PageMap {

  /**
   * 数据集合
   */
  rows: any[];

  /**
   * 总数
   */
  total: number;
}

export class PageDto {

  /**
   * 数据实体
   */
  data: PageMap;

  /**
   * 消息备注
   */
  message: string;

  /**
   * 自定义状态码
   */
  code: number;
}

/**
 * 二次封装
 * @param data 数据
 * @param message 消息提示
 * @param code 自定义状态码
 * @returns 响应实体
 */
export const restPageBody = (data: PageMap, message: string = 'ok', code: number = 200): Promise<PageDto> => {
  return Promise.resolve({
    code,
    data,
    message
  })
}